/*
 * Student.h
 *
 *  Created on: Nov 16, 2012
 *      Author: naduvec
 */

#ifndef STUDENT_H_
#define STUDENT_H_

#include <string>
#include <fstream>
#include <sstream>
#include <iostream>

class Course;

class Student
{
public:
	virtual void study(Course &c)=0;
	int getID();
	int getSem();
	bool isSucc();
	Student(int ID, std::string path,int ELtodo);
	void grad();
	int getELtodo();
	std::string getImage();
	void useELtodo();
	void retELtodo();
	void resetSem();
	virtual bool isDegreeGraduate(int depSemesters);

	virtual ~Student();


	virtual std::string getDepartment()=0;


protected:
	int ID;
	int semester;
	std::string image;
	int ELtodo;
	bool semester_succeed;
	void log(std::stringstream &sstm);

};
#endif /* STUDENT_H_ */
